package com.wen.uilts;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MyUilts {
    /**
     * 将date类例转换为字符串型
     * @param date 时间类型
     * @param strDateFormat 转换格式
     * @return 返回字符串型时间
     */
    public static String dateConvertStr(Date date, String strDateFormat){
        String staDate = "";
        //时间为空，设置当前时间
        if (date == null){
            date = new Date();
        }
        if (strDateFormat == null || strDateFormat.equals("")){
            strDateFormat = "yyyy-MM-dd HH:mm:ss";
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(strDateFormat);
        //转换为字符串
        staDate = simpleDateFormat.format(date);
        return staDate;
    }
    /**
     * 将字符串转换为日期类型
     * @param strDate 字符串时间
     * @param strDateFormat 转换格式
     * @return 时间类型
     */
    public static Date strConvertDate(String strDate, String strDateFormat){
        // 默认值根据业务逻辑确定，此处使用当前时间作为默认值
        Date date = new Date();
        //如果没有定义格式，则设置默认格式
        if (strDateFormat == null || strDateFormat.equals("")){
            strDateFormat = "yyyy-MM-dd HH:mm:ss";
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(strDateFormat);

        //将字符串类例转换为日期类型
        try {
            date = simpleDateFormat.parse(strDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }
    /**
     * 获取Class实例对象
     *
     * @param clazz Class
     * @param <T>   泛型
     * @return 实例对象
     */public static <T> T getNewInstance(Class<T> clazz) {
        //默认返回值
        T t = null;
        try {
            //使用反射创建Class实例
            t = clazz.newInstance();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return t;
    }
}
